With guidance of information theory, theoretical research of channel encoding develops rapidly, and various encoding techniques with excellent performance have been developed, including block code, convolutional code, concatenated code, etc. For example, Turbo code is a concatenated code, an LDPC (Low-density Parity-check, low-density parity-check) code and a polar code belong to block codes. The Turbo code and LDPC code have been adopted in 3G (3rd-generation, third-generation mobile communication technology) and 4G (4th-generation, fourth-generation mobile communication technology) standards, while as a novel near-channel-capacity encoding technique, polar code is widely concerned and researched recently.
In general, an encoder encodes an input bit (usually referred to as an information bit) with a length of K to produce an output bit (usually referred to as a codeword bit) with a length of N. An encoder of the Turbo code is relatively flexible, where a single mother code is adopted, and a variety of information bit lengths K are supported. The LDPC code supports a variety of information bit lengths K by means of structured expansion. A typical codeword length of the polar code is generally 2^n, where n is an integer. The polar code, which is based on a basic code rate R (single mother code), cannot support flexible length selection for information bit length K and codeword length N.
In a Turbo encoding processing procedure of an LTE (Long Term
Evolution, long term evolution) system, once a length of a TB (Transport Block, transport block) exceeds a maximum input bit length of a Turbo encoder (i.e., a maximum interleaver size of 6144 bits of the Turbo code), this relatively long TB block needs to be divided into multiple shorter code blocks, so that a length of each code block, after a code block CRC (Cyclic Redundancy Check, cyclic redundancy check) is added and a bit is filled, can satisfy an allowable input bit length (corresponding to 188 kinds of QPP interleaver sizes) of the Turbo encoder, thereby completing an encoding processing of each code block. In a code block segmentation process, all padding bits are always added at a starting position of the first code block.
The above-mentioned method for segmenting a code block and filling a padding bit has the following problems: lengths of code blocks are obviously different from each other, and padding bits are concentrated in a same code block, thus the code blocks have different performances, which damages an error rate performance of a TB block. Therefore, the method is not suitable for polar encoding processing and needs to be further improved.